import { createRouter, createWebHashHistory } from "vue-router";
import loginInfo from "../util/loginInfo";

// console.log(loginInfo)

// const Home = () => import('../Home.vue')
// const Users = () => import('../Users.vue')
// const Books = () => import('../Books.vue')
// const Records = () => import('../Records.vue')

// 2. 定义一些路由
// 每个路由都需要映射到一个组件。
// 我们后面再讨论嵌套路由。
// const routes = [
//   { path: '/', redirect: '/home' },
//   { path: '/home', component: Home },
//   { path: '/users', component: Users },
//   { path: '/books', component: Books },
//   { path: '/records', component: Records },
// ]
const routes = [
  { path: '/', redirect: '/home' },
  { path: '/home', component: () => import('../Home.vue') },
  { path: '/users', component: () => import('../Users.vue') },
  { path: '/books', component: () => import('../Books.vue') },
  { path: '/records', component: () => import('../Records.vue') },
]

// 3. 创建路由实例并传递 `routes` 配置
// 你可以在这里输入更多的配置，但我们在这里
// 暂时保持简单
export const router = createRouter({
  // 4. 内部提供了 history 模式的实现。为了简单起见，我们在这里使用 hash 模式。
  history: createWebHashHistory(),
  routes, // `routes: routes` 的缩写
})

router.beforeEach(async (to, from) => {
  if (!loginInfo.isLogin()) {
    location.href = '/login.html'
    return false
  }
  await loginInfo.update()
  if (loginInfo.user.userGroup !== 0) {
    location.href = '/index.html'
    return false
  }
  return true
})